Reducing Contention for Run Queue in Shared-Memory Multiprocessor Systems
نویسنده
چکیده
Performance of parallel processing systems is sensitive to various hardware and software overheads and contention for hardware and software resources. Hardware resources such as interconnection network and memory introduce communication contention and memory contention that could seriously impact overall system performance. Software resources include critical data structures maintained by application software as well as by the system software. In process scheduling context, run queue is a critical data structure that could potentially affect the overall system performance. There are two basic run queue organizations: centralized and distributed. Many shared-memory multiprocessor systems use the centralized organization in which a single global run queue is shared by all processors in the system. We will first identify performance problems associated with these two organizations and then discuss some means to alleviate these problems. We then present a hierarchical task queue organization that incorporates the merits of these two queue organizations. Performance of the hierarchical organization is shown to inherit the good characteristics of the centralized and distributed organizations while avoiding the pitfalls associated with them. Thus, the hierarchical organization is useful in building large-scale multiprocessor systems.
منابع مشابه
Reducing Run Queue Contention in Shared Memory Multiprocessors
Feature No single method for mitigating the performance problems of centralized and distributed run queues is entirely successful. A hierarchical run queue succeeds by borrowing the best features of both. P erformance of parallel processing systems, especially large systems, is sensitive to various types of overhead and contention. Performance consequences may be serious when contention occurs ...
متن کاملThe system data structure contention problem and a novel software solution for shared memory , floating control parallel systems
Of the many varieties of multiprocessor architecture which have been proposed in the last five to eight years, shared memory, floating control multiprocessor systems are in many ways the most elegant. Shared memory, floating control architectures are distinguished by the structural attribute that each processor is an equal partner in the management of system resources even to the point of shari...
متن کاملPerformance of Hierarchical Processor Scheduling in Shared-Memory Multiprocessor Systems
Processor scheduling policies can be broadly divided into space-sharing and time-sharing policies. Space-sharing policies partition system processors and each partition is allocated exclusively to a job. In time-sharing policies, processors are temporally shared by jobs (e.g., in a round robin fashion). Space-sharing policies can be either static (processor allocation remains constant during th...
متن کاملA Skiplist-Based Concurrent Priority Queue with Minimal Memory Contention
Priority queues are fundamental to many multiprocessor applications. Several priority queue algorithms based on skiplists have been proposed, as skiplists allow concurrent accesses to different parts of the data structure in a simple way. However, for priority queues on multiprocessors, an inherent bottleneck is the operation that deletes the minimal element. We present a linearizable, lock-fre...
متن کاملPerformance impact of run queue organization and synchronization on large-scale NUMA multiprocessor systems
The goal of this paper is to study the impact of run queue organization on the performance of synchronization methods in multiprocessor systems. Two run queue organizations are considered: distributed and hierarchical organizations. The performance impact of spinning and blocking synchronization methods on these two run queue organizations is studied. We use two canonical workload types that re...
متن کامل